import { YoutubeEmbed } from '../../../../src/js/YoutubeEmbed.jsx'

# OpenAI

With the OpenAI block, you can create a chat completion based on your user queries and display the answer back to your typebot.

<img
  src="/img/blocks/integrations/openai/overview.png"
  width="600"
  alt="OpenAI block"
/>

This integration comes with a convenient message type called **Messages sequence ✨**. It allows you to directly pass a sequence of saved assistant / user messages:

<img
  src="/img/blocks/integrations/openai/messages-sequence.png"
  width="600"
  alt="OpenAI messages sequence"
/>

:::note
Under the hood, **Messages sequence ✨** will convert the provided variables into lists if it's not already the case.
:::

<YoutubeEmbed videoId="v167drfHFzk" />

## Using Multiple Open AI Blocks: Tips and Tricks

In this video, I discuss some important things to keep in mind when using multiple Open AI blocks consecutively. I provide an example where we ask the user for a topic, generate a summary, and display a list of authors.

I explain that streaming messages is not possible when they are prefixed or suffixed by text, and that all blocks need to compute before displaying anything.

I also demonstrate how formatting can be affected by the presence of text before a message. Watch this video to learn how to optimize your use of multiple Open AI blocks.

<div
  style={{
    position: 'relative',
    paddingBottom: '64.63195691202873%',
    height: 0,
  }}
>
  <iframe
    src="https://www.loom.com/embed/35dc8af6b9244762acc4a5acf275fb43?sid=3723aa59-13ac-49f2-a95b-5608807ac76d"
    frameborder="0"
    webkitallowfullscreen
    mozallowfullscreen
    allowfullscreen
    style={{
      position: 'absolute',
      top: 0,
      left: 0,
      width: '100%',
      height: '100%',
    }}
  ></iframe>
</div>

## Troobleshooting

### Error message: "OpenAI block returned error"

It means your OpenAI block is not configured properly. Please check the following:

- You have selected an OpenAI account
- You have at least 1 **user** message or a **Message sequence ✨**.
- If you have a **Message sequence ✨**, make sure your user messages variable contains at least 1 message.

### It returns an empty message

It most likely mean that you exceeded your OpenAI free quota. Add a payment method to your OpenAI account to continue using it.
